package thread;

/**
 * 现成的第一种创建方式
 * 继承Thread并重写run方法
 */
public class ThreadDemo1 {
    public static void main(String[] args) {
        Thread t1 = new MyThread1();
        Thread t2 = new MyThread2();
        //启动线程要调用start()方法, 而不是直接调用run()方法
        t1.start();
        t2.start();
    }
}

/**
 * 第一种创建线程的方式:
 * 优点: 更方便的使用匿名内部类的形式创建、结构简单
 * 缺点: java是单继承的，意味着继承了Thread就无法再继承其它类了，不利于复用
 *      定义线程的同时定义了线程任务，导致线程和任务绑定在一起了，不利于线程的复用
 */
class MyThread1 extends Thread {
    public void run(){
        for(int i= 0; i < 1000; i++){
            System.out.println("123321");
        }
    }
}


class MyThread2 extends Thread {
    public void run(){
        for(int i= 0; i < 1000; i++){
            System.out.println("88888");
        }
    }
}
